package com.study.ming.feign;

import feign.Logger;
import org.springframework.beans.factory.annotation.Configurable;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.text.MessageFormat;

/**
 * @author yh
 * @date 2022/10/15 10:45
 **/
//@Configuration
public class FeignConfig {
    /**
     *
     * Logger.Level 的具体级别如下：
     NONE：不记录任何信息
     BASIC：仅记录请求方法、URL以及响应状态码和执行时间
     HEADERS：除了记录 BASIC级别的信息外，还会记录请求和响应的头信息
     FULL：记录所有请求与响应的明细，包括头信息、请求体、元数据
     * @return
     */
    @Bean
    Logger.Level feignLoggerLevel() {
        return Logger.Level.FULL;
    }

    public static void main(String[] args) {
        System.out.println("单价: " + price + ", 每" + k + "个可以换" + price/2 + "块钱");
        int count = count(150);
        System.out.println(count);
    }
    //每多少个可以换钱
    static int k = 3;
    //单价
    static double price = 3;
    static int count(double total){
        //可以买多少个
        int num = (int) (total/price);
        //可以换多少钱
        double returnMany = ((int)num/k) * price/2;
        //买完之后剩余的零头
        double total2 = total - num * price;
        System.out.println( MessageFormat.format("总金额{0}, 可以买{1}个, 剩余{2}块钱, 可以换{3}快钱", total, num, total2, returnMany));
        //买完之后剩余的零头 + 换的钱
        total = total2 + returnMany;
        if(total < price){
            return num;
        }else{
            num += count(total);
        }
        return num;
    }
}
